<template>
  <div class="custom-form">
    <el-row :gutter="15">
      <el-form ref="elForm" :model="formData" :rules="rules" size="medium" label-width="100px"
        :key="showFormKey" v-if="showForm">
		<el-col :span="24">
		  <el-form-item :label="$t('')" prop="room_number">
		    <el-input class="fanghao" v-model="formData['room_number']" placeholder="请输入房号" :disabled="hasDisabledPermission('identify_name',false)"
		     :readonly="!hasEditPermission('identify_name',true)"></el-input >
		  </el-form-item>
		</el-col>
		<el-col :span="24">
		  <el-form-item :label="$t('入住日期')" prop="checkin_date">
		    <el-date-picker  v-model="formData['checkin_date']"
		      format="yyyy-MM-dd" value-format="yyyy-MM-dd" :style="{width: '100%'}" placeholder="请选择入住日期"
		      clearable :disabled="hasDisabledPermission('checkin_date',true)"
		     :readonly="!hasEditPermission('checkin_date',true)"></el-date-picker>
		  </el-form-item>
		</el-col>
        <el-col :span="12">
          <el-form-item :label="$t('姓名')" prop="identify_name">
            <el-input v-model="formData['identify_name']" placeholder="请输入姓名" clearable :style="{width: '100%'}":disabled="hasDisabledPermission('identify_name',true)"
		     :readonly="!hasEditPermission('identify_name',true)">
            </el-input>
          </el-form-item>
        </el-col>
		<el-col :span="12" v-show="hasFormPermission('gender')">
			<el-form-item :label="$t('性别')" prop="gender">
				<el-select v-model="formData['gender']" placeholder="请选择性别"
					:disabled="hasDisabledPermission('gender',true)" filterable clearable
					:style="{width: '100%'}">
					<el-option v-for="(item, index) in sexOptions" :key="index" :label="item.F_ItemName"
						:value="item.F_ItemValue" :disabled="item.disabled"></el-option>
				</el-select>
			</el-form-item>
		</el-col>
        <el-col :span="12">
          <el-form-item :label="$t('身份证号')" prop="identify_id">
            <el-input v-model="formData['identify_id']" placeholder="请输入身份证号" clearable :style="{width: '100%'}":disabled="hasDisabledPermission('identify_id',true)"
		     :readonly="!hasEditPermission('identify_id',true)">
            </el-input>
          </el-form-item>
        </el-col>
        <!-- <el-col :span="9">
          <el-form-item :label="$t('事业部')" prop="division">
            <el-input v-model="formData['division']" placeholder="请输入事业部" clearable :style="{width: '100%'}":disabled="hasDisabledPermission('division',false)"
		     :readonly="!hasEditPermission('division',false)">
            </el-input>
          </el-form-item>
        </el-col> -->
        <el-col :span="12">
          <el-form-item :label="$t('部门')" prop="department">
            <avue-load-tree v-model="formData['department']" placeholder="系统默认(公司)部门" type="tree"
              :dic="departmentOptions" :style="{width: '100%'}" :__type__="'department'":disabled="hasDisabledPermission('department',false)"
		     :readonly="!hasEditPermission('department',false)"></avue-load-tree>
          </el-form-item>
        </el-col>
		<el-col :span="12">
		  <el-form-item :label="$t('电话号码')" prop="phone_number">
		    <el-input v-model="formData['phone_number']" placeholder="请输入电话号码" clearable :style="{width: '100%'}":disabled="hasDisabledPermission('phone_number',false)"
		     :readonly="!hasEditPermission('phone_number',false)">
		    </el-input>
		  </el-form-item>
		</el-col>
        <el-col :span="12">
          <el-form-item :label="$t('备注')" prop="workshop">
            <el-input v-model="formData['workshop']" placeholder="请输入备注" clearable :style="{width: '100%'}":disabled="hasDisabledPermission('workshop',false)"
		     :readonly="!hasEditPermission('workshop',false)">
            </el-input>
          </el-form-item>
        </el-col>
        
        
        <!-- <el-col :span="12">
          <el-form-item :label="$t('夫妻房')" prop="is_couple_room">
            <el-radio-group v-model="formData['is_couple_room']" size="medium">
              <el-radio v-for="(item, index) in is_couple_roomOptions" :key="index" :label="item.F_ItemValue"
                :disabled="hasDisabledPermission('is_couple_room',true)" :readonly="!hasEditPermission('is_couple_room',false)">{{item.F_ItemName}}</el-radio>
            </el-radio-group>
          </el-form-item>
        </el-col> -->
        
        <!-- <el-col :span="12">
          <el-form-item :label="$t('是否 退宿')" prop="is_checkout">
            <el-radio-group v-model="formData['is_checkout']" size="medium">
              <el-radio v-for="(item, index) in is_checkoutOptions" :key="index" :label="item.F_ItemValue"
                :disabled="true">{{item.F_ItemName}}</el-radio>
            </el-radio-group>
          </el-form-item>
        </el-col> -->
        <el-col :span="12">
          <el-form-item :label="$t('退宿日期')" prop="checkout_date">
            <el-date-picker v-model="formData['checkout_date']"
              format="yyyy-MM-dd" value-format="yyyy-MM-dd" :style="{width: '100%'}" placeholder="请选择退宿日期"
              clearable :disabled="hasDisabledPermission('checkout_date',true)"
		     :readonly="!hasEditPermission('checkout_date',true)"></el-date-picker>
          </el-form-item>
        </el-col>
		<el-col :span="24" v-show="hasFormPermission('room_tools_details')">
		  <avue-form v-loading="preloadLoading114" class=" avueFormTitleNoWrap  subTableForm "
		    element-loading-text="数据预加载中..." element-loading-spinner="el-icon-loading"
		    element-loading-background="rgba(0, 0, 0, 0.7)" :option="option114"
		    v-model="room_tools_details"
		    ref="avueTableroom_tools_details"
		    v-show="hasFormPermission('room_tools_details')" :disabled="disabled"
		    v-if="reRenderSubform">
		  </avue-form>
		</el-col>
        <el-col :span="24" >
          <el-form-item size="large" v-if="isEdit" class="form-button-center">
            <el-button type="primary" @click="submitForm" :loading="submitLoading">
              {{submitLoading?$t('workFlow.WFMenu.hintSubmit'):$t('submit')}}</el-button>
            <el-button @click="cancelForm">{{$t('cancelText')}}</el-button>
          </el-form-item>
        </el-col>
      </el-form>
    </el-row>
  </div>
</template>
<script>

        import authorizeMixin from "@/mixins/authorize";
        import { baseUrl } from "@/config/env";
        import request from "@/router/axios";
         import {fieldsConfig,formFieldsMap,getHideComponents} from './checkin_logConfig'
		import { formValidateNotice } from '@/util/util';
        export default {
          mixins: [authorizeMixin],
       
  components: {},
  props: ['keyValue', 'isEdit', 'disabled','roomId','roomNumber'],
  data() {
    return {
      userInfo: {},
      submitLoading: false,
      showForm: true,
      showFormKey: 1,
      reRenderSubform: false,
      operationVal: 'add',
      isAdd: true,
      addressUrl:'checkin_log',
      autoCompleteConfEventData: [],
      mainTableName: 't_electric_checkin_log',
      formConfig: {},
	  length:'',
      formFieldsMap: new Map(),
      hideComponentsMap: new Map(),
      needShowValueTags: ['asso-popup', 'mutiple-popup'],
      formData: {
        'identify_name': "",
		'gender':'',
        'identify_id': '',
        'division': '',
        'department': '',
        'phone_number': '',
        'checkin_date': null,
        'is_couple_room': "0",
        'room_number': this.roomNumber,
        'is_checkout': "0",
        'checkout_date': null,
        'room_id': this.roomId,
        'islocked': "0",
        'workshop': '',
      },
      rules: {
        identify_name: [{
          required: true,
          message: '请输入姓名',
          trigger: 'blur'
        }],
		gender: [{
		  required: true,
		  message: '请输入性别',
		  trigger: 'change'
		}],
        identify_id: [{
          required: true,
          message: '请输入身份证号',
          trigger: 'blur'
        }],
        division: [{
          required: true,
          message: '请输入事业部',
          trigger: 'blur'
        }],
        workshop: [],
        department: [{
          required: true,
          message: '请选择部门',
          trigger: 'blur'
        }],
        phone_number: [{
          required: true,
          message: '请输入电话号码',
          trigger: 'blur'
        }],
        checkin_date: [{
          required: true,
          message: '请选择入住日期',
          trigger: 'change'
        }],
        is_couple_room: [{
          required: true,
          message: '夫妻房不能为空',
          trigger: 'change'
        }],
        room_number: [],
        is_checkout: [{
          required: true,
          message: '是否 退宿不能为空',
          trigger: 'change'
        }],
        checkout_date: [],
      },
	  sexOptions: [],
	  preloadLoading114:false,
      departmentOptions: undefined,
      is_couple_roomOptions: [],
      is_checkoutOptions: [],
      room_id: [],
	  room_tools_details: {
	  	  'item':'',
	  	  'isreceive':'',
	  		  // 'fid':'',
	  },
	  room_toolsList: {
	  	  'item':'',
	  	  'isreceive':'',
	  		  // 'fid':'',
	  },
    }
  },
  computed: {
	  option114() {
	    return {
	      submitBtn: false,
	      emptyBtn: false,
	      labelWidth: 100,
	      disabled: this.disabled,
	      column: [{
	  	  cascader:['point'],
	        label: '房间物品',
	        prop: 'room_tools_details',
	        type: 'dynamic',
	        span: 24,
	        children: {
	          align: 'center',
	          headerAlign: 'center',
	  		columnBtn:false,
	  		refreshBtn:false,
	  		addBtn:false,
	  		delBtn:false,
	  		editBtn:false,
	          rowAdd: (done) => {
	            // this.$message.success('新增回调');
	            done({});
	          },
	          rowDel: (row, done) => {
	            // this.reRenderSubform = false; //更新组件 index
	            // setTimeout(() => {
	            //   // this.$message.success('删除回调'+JSON.stringify(row));
	            //   this.reRenderSubform = true;
	            // }, 0);
	            done();
	          },
	          column: this.getAuthorityTableChildrenList('room_tools_details', [
	  			  {
	            label: this.$t('物品名称'),
	            prop: 'item',
	            value: '',
	            type: 'input-tip',
	            width: null,
	  				// props:{
	  					
	  				// 	 value:'Rows.tool_name',
	  				// },
	  				// dicUrl: baseUrl + '/room_tools',
	            placeholder: '请输入物品名称',
	            required: true,
	            formslot: false,
	            disabled: true,
	            rules: [{
	              required: true,
	              message: '物品名称不能为空'
	            }, ],
	            ruleList: [{
	              required: true,
	              message: '物品名称不能为空'
	            }, ],
	          }, 	
	  		{
	            label: this.$t('是否领取'),
	            prop: 'isreceive',
	            value: '',
	            type: 'select',
	            width: null,
	  		  props:{
	  		  	label:'F_ItemName',
	  		  	 value:'F_ItemValue'
	  		  },
	  		  dicUrl:baseUrl + '/data-items/isreturn/detail',
	            placeholder: '请选择是否领取',
	            required: true,
	            formslot: false,
	            disabled: this.disabled ? this.disabled : false,
	            rules: [{
	              required: true,
	              message: '请选择是否领取',
	  			trigger:'blur'
	            }, ],
	            
	          }, ])
	        }
	      }, ],
	    }
	  },
  },
  watch: {},
  async created() {
    this.formConfig = this.getFormConfig();
    this.formFieldsMap = this.getFormFieldsMap();
    this.userInfo = localStorage.getItem("avue-userInfo") ? JSON.parse(localStorage.getItem(
      "avue-userInfo")).content : {};
  },
  async mounted() {
    this.hideComponentsMap = await this.getHideComponentsMap();
    this.showForm = false;
    await this.insertCreatedEvent();
    //TODO   再这里做数据回填 请求表单数据
    // console.log(this.formData);
           if(this.keyValue){
              this.isAdd = false;
          }
           if(!this.isAdd&&this.keyValue){
              this.operationVal = 'edit';
              try {
                let res = await request({
                  url: baseUrl + "/checkin_log/id/" + this.keyValue,
                  method: "get",
                });
                  
            this.formData = res.data.data.t_electric_checkin_log
			this.room_tools_details.room_tools_details = res.data.data.t_electric_checkin_items
			this.length = this.room_tools_details.room_tools_details.length
			for(let i = 0; i<this.room_tools_details.room_tools_details.length;i++)
			{
				if(this.room_tools_details.room_tools_details[i].isreceive == 1)
				{
					this.room_tools_details.room_tools_details[i].isreceive= "是"
				}
				else{
					this.room_tools_details.room_tools_details[i].isreceive = "否"
				}
			}
             console.log(this.room_tools_details.room_tools_details)
                  await this.handleEdit();
                 this.showFormKey++;
              } catch (error) {
              }
          }

       
    if (typeof this.getField108Options == "function") {
      await this.getField108Options();
    }
    if (typeof this.getField110Options == "function") {
      await this.getField110Options();
    }
	if (typeof this.getField103Options == "function") {
		await this.getField103Options();
	}
    await this.insertMountedEvent();
    this.reRenderSubform = true; //子表单显示
    this.showFormKey++;
    this.processParameterAssignment();
    this.showForm = true;
  },
  methods: {
    getFormData() {
      let key = this.mainTableName + 'Entity';
      let returnParams = {};
      returnParams[key] = this.formData;
      return {
        ...returnParams,
		t_electric_checkin_itemsEntityList:this.room_tools_details.room_tools_details,
      };
    },
    validateForm() {
      this.$refs['elForm'].validate(valid => {});
    },
	
    async aysncValidateForm() {
      let validataArry = [] 
      let formValidateNotice = function formValidateNotice(obj, that, formAuth) {
        for (var o in obj) {
          if (!formAuth[o] && obj[o][0]) {
            that.$message({
              message: obj[o][0].message + ',' + that.$t('noFormAuth'),
              type: 'warning'
            });
            return;
          }
        }
      }
	  if (this.room_tools_details.room_tools_details && this
	    .room_tools_details.room_tools_details.length > 0) {
	    validataArry.push(new Promise((resolve, reject) => {
	      this.$refs['avueTableroom_tools_details'].validate(valid => {
	        resolve(valid)
	      });
	    }));
	  }
      validataArry.push(new Promise((resolve, reject) => {
        this.$refs['elForm'].validate((valid, object) => {
          if (!this.isWorkflowForm) formValidateNotice(object, this, this.formEnCodeList)
          resolve(valid)
        })
      }))
      let res = await Promise.all(validataArry)
      if (res.includes(false)) {
        return false
      }
      else {
        return true;
      }
    },
    changeTableData() {},
	changeTableData2() {
	  if (this.room_tools_details.room_tools_details && this
	    .room_tools_details.room_tools_details.length > 0) {
	    this.room_tools_details.room_tools_details.forEach((element,
	      index) => {
	      let itemChild = {
	        ...element
	      }
	      for (let [key, value] of Object.entries(itemChild)) {
	        if (Array.isArray(value)) {
	          itemChild[key] = value.join(',')
	        }
	      }
	      this.room_tools_details.room_tools_details[index] =
	        itemChild;
	    });
	  }
	  else {
	    this.room_tools_details.room_tools_details = [];
	  }
	},
    async submitForm() {
      this.submitLoading = true;
      let valid = await this.aysncValidateForm();
      if (valid == false) {
        this.submitLoading = false;
        return false;
      }
      this.changeTableData();
	  this.changeTableData2();
      //格式化数据
      let newObj = this.getFormData();
      if(newObj.t_electric_checkin_logEntity.gender == "男"){
		newObj.t_electric_checkin_logEntity.gender = 0
      }
      else{
      	 newObj.t_electric_checkin_logEntity.gender = 1
      }
	  for(let i = 0; i<this.length;i++)
	  {
	  	if(newObj.t_electric_checkin_itemsEntityList[i].isreceive == "是"){
	  	 newObj.t_electric_checkin_itemsEntityList[i].isreceive = 1
	  	}
	  	else{
	  	 newObj.t_electric_checkin_itemsEntityList[i].isreceive = 0
	  	}
	  }	  
        //如果没有传入参数就是新增
        if (!this.keyValue) {
          request({
            url: baseUrl + "/"+this.addressUrl,
            method: "post",
            data : newObj
          }).then((res) => {
				  this.submitLoading = false;
				  this.$notify({
				    title: "成功",
				    message: "新增成功",
				    type: "success",
				  });
				   this.$emit("onChange",true)
          })
		  .catch((err)=>{
			  console.log(err.data.data[0])
			  this.submitLoading = false;
			  if(err.data.data[0]=="tElectricCheckinLogDto.phoneNumber"&&err.data.data[1] == "tElectricCheckinLogDto.identifyId"){
				  this.$notify({
				    title: "失败",
				    message: "手机号与身份证号格式错误",
				    type: "warning",
				  });
			  }
			 else if(err.data.data[0]=="tElectricCheckinLogDto.phoneNumber"){
				 this.$notify({
				   title: "失败",
				   message: "手机号格式错误",
				   type: "warning",
				 });
			 }
			  else if(err.data.data[0] == "tElectricCheckinLogDto.identifyId"){
				  this.$notify({
				    title: "失败",
				    message: "身份证号格式错误",
				    type: "warning",
				  });
			  }
		  });

        }
        else{

         request({
            url: baseUrl + "/"+this.addressUrl+"/id/" + this.keyValue,
            method: "put",
            data : newObj
          }).then((res) => {
            this.submitLoading = false;
            this.$notify({
              title: "成功",
              message: "修改成功",
              type: "success",
            });
             this.$emit("onChange",true)
          });

        }
       
       
      
      
      await this.handleSubmit();
    },
    cancelForm() {
      this.$emit("onChange", true)
    },
    formatTree(data, valueField, lableField, childField, type) {
      let tree = [];
      data.forEach((node, index) => {
        let newNode = {
          value: node[valueField],
          label: node[lableField],
        };
        if (type) {
          newNode.disabled = node[valueField] == undefined ? true : false
        }
        tree.push(newNode);
        if (node[childField] != null && node[childField].length > 0) {
          newNode.children = (this.formatTree(node[childField], valueField, lableField, childField,
          type));
        }
      }, this);
      return tree;
    },
    
          //辅助编辑 预留方法
          async handleEdit() {
            await this.insertEditEvent();
          },
          
    //FORM_EVENT_EDIT
    
        //辅助提交 预留方法
        async handleSubmit() {
          await this.insertSubmitEvent();
        },
        //辅助工作流提交 预留方法
        getHandleSubmitFormEvent() {
            
        },
        //辅助工作流表单事件 判断 表单事件是否已经执行过
        getisExecutedFormEvent() {
            let key = 'index'+this.$store.state.formParser.workflowFormTabIndexKey;
            return this.$store.state.formParser.isExecutedFormEvent[key]?this.$store.state.formParser.isExecutedFormEvent[key]:false;
            
        },
      
    async getField108Options() {
      // 注意：this.$axios是通过Vue.prototype.$axios = axios挂载产生的
      try {
        let resp = await this.$axios({
          method: 'get',
          url:  baseUrl + '/data-items/YesOrNo/detail',
        });
        if (resp.data.data) {
          this.is_couple_roomOptions = resp.data.data;
        }
      }
      catch (error) {}
    },
    async getField110Options() {
      // 注意：this.$axios是通过Vue.prototype.$axios = axios挂载产生的
      try {
        let resp = await this.$axios({
          method: 'get',
          url:  baseUrl + '/data-items/YesOrNo/detail',
        });
        if (resp.data.data) {
          this.is_checkoutOptions = resp.data.data;
        }
      }
      catch (error) {}
    },
	async getField103Options() {
		// 注意：this.$axios是通过Vue.prototype.$axios = axios挂载产生的
		try {
			let resp = await this.$axios({
				method: 'get',
				url: baseUrl + '/data-items/sex/detail',
			});
			if (resp.data.data) {
				this.sexOptions = resp.data.data;
	
			}
		} catch (error) {}
	},
    async triggerEventHandler(eventData) {
      if (eventData.length > 0) {
        eventData.forEach(ele => {
          let functionName = 'getField' + ele.componentFormId + 'Options';
          if (typeof this[functionName] == "function") {
            this[functionName]();
          }
        })
      }
    },
    triggerEventFormIdHandler(formId) {
      if (this.formFieldsMap.get(formId).__config__.triggerEvents && this.formFieldsMap.get(formId).__config__
        .triggerEvents.length > 0) {
        this.formFieldsMap.get(formId).__config__.triggerEvents.forEach(triggerEventItem => {
          if (this.formFieldsMap.get(formId).__config__.triggerEventData && this.formFieldsMap.get(formId)
            .__config__.triggerEventData[triggerEventItem] && this.formFieldsMap.get(formId).__config__
            .triggerEventData[triggerEventItem].length > 0) {
            this.triggerEventHandler(this.formFieldsMap.get(formId).__config__.triggerEventData[
              triggerEventItem]);
          }
        });
      }
      return true;
    },
    //清空联想弹层、多选弹层的值
    clearBombLayerFormData(filed) {
      this.formData[filed] = '';
      this.formData[filed + '_showValue'] = '';
    },
    // 流程参数赋值
    processParameterAssignment() {
      // 流程中的流程参数赋值 优先级最高，最后赋值
      setTimeout(() => {
        if (this.isEdit != 2 && this.parameter && this.parameter[this.mainTableName]) {
          this.showForm = false;
          for (let [key, value] of Object.entries(this.parameter[this.mainTableName])) {
            this.setFormDataValue(key, value);
          }
          this.showForm = true;
        }
      }, 0);
    },
    setFormDataValue(field, val) {
      if (Array.isArray(this.formData[field])) {
        if (val.includes(',')) {
          this.formData[field] = val.split(',');
        }
        else {
          this.formData[field] = [val];
        }
      }
      else {
        this.formData[field] = val;
      }
      //处理联想弹层，多选弹层
      if (this.formData[field + '_showValue'] != undefined) {
        this.formData[field + '_showValue'] = val;
      }
    },
    setOutputsValue(nodeType, formId, res, outputKey) {
      let nodeTypeChecked = false;
      if (nodeType == 'created') {
        nodeTypeChecked = this.operationVal == 'add';
      }
      else if (nodeType == 'edit') {
        nodeTypeChecked = this.operationVal == 'edit';
      }
      else if (nodeType == 'mounted') {
        nodeTypeChecked = this.operationVal == 'add' || this.operationVal == 'edit';
      }
      if (nodeTypeChecked && this.disabled != true && res && res.data && res.data.data && this.formFieldsMap
        .has(formId) && this.formFieldsMap.get(formId).__vModel__ && this.formData.hasOwnProperty(this
          .formFieldsMap.get(formId).__vModel__)) {
        this.setFormDataValue(this.formFieldsMap.get(formId).__vModel__, res.data.data[outputKey]);
        // 联想弹层 多选弹层 特殊处理
        if (this.formFieldsMap.get(formId).__config__ && this.formFieldsMap.get(formId).__config__.avueType &&
          this.needShowValueTags.includes(this.formFieldsMap.get(formId).__config__.avueType)) {
          this.formData[this.formFieldsMap.get(formId).__vModel__ + '_showValue'] = res.data.data[outputKey];
        }
        this.triggerEventFormIdHandler(formId);
      }
    },
    //子表单权限
    getAuthorityTableChildrenList(bindTable, children) {
      let column = [];
      if (bindTable && this.formEnCodeList && this.formEnCodeList[bindTable]) {
        let formSubEnCodeList = this.formEnCodeList[bindTable];
        if (children && children.length > 0) {
          column = children.map(ele2 => {
            if (formSubEnCodeList.includes(ele2.prop)) {
              ele2.hide = false;
            }
            else {
              ele2.hide = true;
            }
            if (ele2.hide == false) {
              //工作流中系统表单必填权限
              if (this.formSubTableNotRequiredList && this.formSubTableNotRequiredList[bindTable] !=
                undefined) {
                if (this.formSubTableNotRequiredList[bindTable].includes(ele2.prop)) {
                  ele2.required = false;
                }
                else {
                  ele2.required = true;
                }
              }
              ele2.rules = [];
              if (ele2.required) {
                ele2.rules = ele2.ruleList;
              }
              // disabled 属性
              if (this.formSubTableDisabledList && this.formSubTableDisabledList[bindTable] !=
                undefined) {
                if (this.formSubTableDisabledList[bindTable].includes(ele2.prop)) {
                  ele2.disabled = true;
                }
                else {
                  ele2.disabled = false;
                }
              }
              if (this.disabled) { //查看
                ele2.disabled = true;
              }
            }
            else {
              ele2.rules = []
              if (ele2.required) {
                ele2.ruleList.forEach(el => {
                  el.message += ',' + this.$t('noFormAuth')
                })
                ele2.rules = ele2.ruleList;
              }
            }
            return ele2;
          });
        }
        return column;
      }
      else {
        return children;
      }
    },
    async insertCreatedEvent() {
      
    },
    async insertMountedEvent() {
      
    },
    async insertEditEvent() {
      
    },
    async insertSubmitEvent() {
      
    },
    getFormConfig() {
       return fieldsConfig();
    },
    getFormFieldsMap() {
       return formFieldsMap();
    },
    async getHideComponentsMap() {
      let mapList = new Map();
      let hideComponentList = this.getHideComponents();
      if (typeof this.initHideComponentList == 'function') {
        mapList = await this.initHideComponentList(hideComponentList);
        this.$store.commit("SET_HIDE_COMPONENT_LIST", mapList);
      }
      return mapList;
    },
    getHideComponentsMapItem(key) {
      if (this.hideComponentsMap.size > 0) {
        return this.hideComponentsMap.has(key) ? this.hideComponentsMap.get(key) : "";
      }
      else {
        return ""
      }
    },
    getHideComponents() {
       return getHideComponents();
    },
  }
}

</script>
<style>
.el-table__empty-block {
  width: 100% !important;
}

.avue-form__row {
  padding: 0 !important;
}

#editorphone {
  width: 375px;
  margin: 0 auto;
  border: 1px solid #E4E7ED;
  padding: 0 7.5px;
  background: #f5f6fa;
  height: 700px;
  overflow-y: auto;
  overflow-x: hidden;
  border-radius: 5px;
}

#editorphone .el-col {
  border-bottom: 1px solid #F2F2F2;
  background: #fff;
  margin-bottom: 0;
  padding: 0 15px 6px !important;
  width: 100%;
}

#editorphone .el-form-item__label {
  line-height: 20px
}

#editorphone .el-input-group .el-input__inner {
  background: #f5f6fa
}

#editorphone .el-input__inner {
  border: 0
}
 
#editorphone .el-input-group__append,
#editorphone .el-input-group__prepend {
  border: 0;
  background: #edeef2;
  color: #666;
}
#editorphone .el-input-group .el-input__prefix {
  left: 44px
}

#editorphone .el-input-group .el-input__suffix {
  right: 44px
}

#editorphone .el-form-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-flow: wrap;
}

#editorphone .el-form-item__label {
  float: none;
  min-width: 85px;
  width: auto !important;
  text-align: left;
  flex: auto;
}

#editorphone .tinymce .el-form-item__label {
  min-width: 100%;
}

#editorphone .el-form-item__content {
  margin-left: 0px !important;
  flex: auto;
  width: calc(100% - 95px);
}

#editorphone .avueFormNoLable .el-form-item__label,
#editorphone .avueFormNoLable .avue-crud__pagination {
  display: none;
}

#editorphone .avueFormNoLable .el-collapse-item__wrap,
#editorphone .avueFormNoLable .el-collapse {
  border-bottom: 0
}

#editorphone .avueFormNoLable .el-col {
  border-bottom: 0;
  padding-bottom: 0
}

#editorphone .el-form-item__content .el-button:first-child {
  margin-left: 90px;
}
.fanghao input{
	color: red;
	font-weight: 500;
	font-size: 40px;
	border: none;
	
}
</style>
